TP - Développer de façon collaborative avec les forges logicielles
Exercices Remote sur Learning Git Branching
- Sur Learn Git branching, cherchez la section "Remote" et faites les la première série d'exercices
Faire des merge request par groupe sur Gitlab.com
Faire un projet Gitlab basique et poussez votre code
- Rendez-vous sur https://gitlab.com/users/sign_up pour créer un compte.
- Générez une clé ssh avec
ssh-keygenet les parametres par défaut et mettre une passphrase vide (appuyez sur entrer quand il demande la passphrase) - Ajoutez votre clé dans les settings de votre compte Gitlab
- Créez un nouveau projet gitlab appelé
tp_collab_git_votrepseusdoouprenomvide et clonez le en SSH (bien selectionner le mode SSH du bouton clone) - Ajoutez un fichier texte quelconque (code ou non)
- Commitez le dans la branche main
- Suivez les instructions gitlab pour pousser votre code sur le dépot
- Constatez qu'il est bien sur le serveur dans l'interface gitlab
Collaborez avec votre voisin
Nous allons faire des groupe de deux...
- Invitez chacun votre binome en allant dans les options du projet et en utilisant son pseudo gitlab (le mettre en mode développeur)
- Clonez en SSH le projet de votre binome (bien selectionner le mode SSH du bouton clone)
- Créez une branche dans ce projet (git checkout -b ...), ajoutez un fichier et commitez le
- Poussez la branche sur le projet de votre binome (
git checkout votrebranche; git pushutilisez la commande avec l'option--set-upstreamsuggérée par git) - Faites une merge request en allant sur gitlab (cherchez sur internet le cas échéant) à partir de votre branche...
- Demandez à votre binome de review votre merge request et de la merger...
Contribuer au microblog du formateur sur Github.com avec une pull request
- Clonez le dépôt "microblog" indiqué par le formateur, (probablement
git@github.com:e-lie/microblog_git_collab.git) - On se propose maintenant de créer une branche pour étendre l'application avec une page supplémentaire “A propos” comme dans la partie 2 des exercices
- Commitez l'ensemble de ces changements dans une branche
about-page - Rendez-vous sur ce dépôt de microblog collab dans le navigateur, puis forkez le projet à l'aide du bouton en haut à droite de la page
- Ajoutez ce nouveau remote dans votre clone local à l'aide de
git remote add monfork <url_ssh_de_votre_fork>(toujours bien utiliser l'url SSH) - Poussez votre branche
about-pagesur votre fork. - Confirmez que vous trouvez bien cette nouvelle branche sur votre fork depuis votre navigateur, puis allez dans la partie "Pull request". Créez une nouvelle "Pull request" en prenant bien soin de sélectionner la branche
about-page-votrenomdu formateur (sur le dépôt de départ !) comme cible. - Vérifiez que la merge request a bien été créée sur le dépôt du formateur et est en attente de relecture/validation
- Pendant ce temps, le formateur continue de travailler sur sa branche
mainet va bientôt commiter un changement qui va créer un conflit entremainet votre branche (attendre le signal du formateur ;)). Une fois que c'est fait, vous devriez voir sur la page de la merge request qu'une vérification de mergeabilité effectuée par GitLab est passée au rouge. - Utilisez
git fetchetgit mergeou (git pull) pour réconcilier la branche du formateur dans la votre, et résolvez le conflit. Poussez ensuite le nouveau commit sur votre branche et validez que la vérification de Github est repassée au vert. - Le formateur va maintenant merger votre pull request dans la branche
about-page-votrenom
Ressources
- Un autre tutoriel de git collaboratif: https://github.com/KTH-dESA/centralized-workflow-exercise